{
  "guild": {
    "id": "1361349522684510449",
    "name": "wafer.space Community",
    "iconUrl": "2026-01_media/fb143eaa45770cbb40493d09b625e98b-09FD1.png"
  },
  "channel": {
    "id": "1462649747226755122",
    "type": "GuildTextChat",
    "categoryId": "1524223345443340439",
    "category": "\uD802\uDD82\uD81A\uDE06\uD800\uDC2A\uD81A\uDC0B - Friends",
    "name": "fomu",
    "topic": "Channel for the FPGA Tomu aka Fomu (https://fomu.im)."
  },
  "dateRange": {
    "after": "2025-12-31T23:59:59.999+00:00",
    "before": "2026-02-01T00:00:00+00:00"
  },
  "exportedAt": "2026-07-09T01:17:14.5552014+00:00",
  "messages": [
    {
      "id": "1462650162282500290",
      "type": "Default",
      "timestamp": "2026-01-19T03:29:33.414+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Xobs - FYI",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2026-01_media/1f44d-27259.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "261705597529882627",
              "name": "xobs",
              "discriminator": "0000",
              "nickname": "Xobs",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-01_media/41f50d0d47bb7dfee07c877e0d35dd98-E65EE.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-01_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "261705597529882627",
          "name": "xobs",
          "discriminator": "0000",
          "nickname": "Xobs",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-01_media/41f50d0d47bb7dfee07c877e0d35dd98-E65EE.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1465365823416828071",
      "type": "Default",
      "timestamp": "2026-01-26T15:20:37.483+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "MicroPython v1.10-308-g421dcd2 on 2020-01-03; fomu with vexriscv",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465366103684546754",
      "type": "Default",
      "timestamp": "2026-01-26T15:21:44.304+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "this is from fomu-workshop tar or something I have from years ago",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465366541770948842",
      "type": "Default",
      "timestamp": "2026-01-26T15:23:28.752+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "if I am runing some py code, and then ^c, it stops but I don't get KeyboardInterrupt like I do on uP on Pico",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465366757828198473",
      "type": "Default",
      "timestamp": "2026-01-26T15:24:20.264+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "really I want to know where uP print('foo') data is buffered",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465366911205245030",
      "type": "Default",
      "timestamp": "2026-01-26T15:24:56.832+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "this code consumes it: https://github.com/CarlFK/dolly/blob/main/logr/consume1.py",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "dolly/logr/consume1.py at main · CarlFK/dolly",
          "url": "https://github.com/CarlFK/dolly/blob/main/logr/consume1.py",
          "timestamp": null,
          "description": "dal - data aquision loger . Contribute to CarlFK/dolly development by creating an account on GitHub.",
          "color": "#1E2327",
          "thumbnail": {
            "url": "2026-01_media/dolly-9D7A7",
            "width": 1200,
            "height": 600
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465367079271141599",
      "type": "Default",
      "timestamp": "2026-01-26T15:25:36.902+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "but s.reset_input_buffer()\ndoesn't seem to do much as the next while loop spits out a bunch of lines",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465367230018490480",
      "type": "Default",
      "timestamp": "2026-01-26T15:26:12.843+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "if I put a sleep(.5), then s.reset_input_buffer() seems to work.",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465367434994253929",
      "type": "Default",
      "timestamp": "2026-01-26T15:27:01.713+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "so I'm guessing I need to wait for the print() data to get into the buffer that cP can reset_, but I'm wonderin where it is pooling up",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465368299389980796",
      "type": "Default",
      "timestamp": "2026-01-26T15:30:27.801+00:00",
      "timestampEdited": "2026-01-26T15:31:27.358+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If you can find the source for the build, you'll probably want to look in `ports/<whatever it's called>/uart_core.c`",
      "author": {
        "id": "691780627338625077",
        "name": "rebelmike",
        "discriminator": "0000",
        "nickname": "RebelMike",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465368488573931702",
      "type": "Default",
      "timestamp": "2026-01-26T15:31:12.906+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ctrl-C handling is port specific, as it requires the uart driver to be able to flag a Ctrl-C character has been seen before uP has processed the buffer",
      "author": {
        "id": "691780627338625077",
        "name": "rebelmike",
        "discriminator": "0000",
        "nickname": "RebelMike",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465382298907312171",
      "type": "Default",
      "timestamp": "2026-01-26T16:26:05.546+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "#tomu channel on irc.freenode.net  https://workshop.fomu.im/en/latest/help.html",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465382429710876795",
      "type": "Default",
      "timestamp": "2026-01-26T16:26:36.732+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I can't find the uP fomu port",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465382721357353165",
      "type": "Default",
      "timestamp": "2026-01-26T16:27:46.266+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "yes I can.  https://github.com/im-tomu/micropython/tree/fomu/ports/fomu",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "micropython/ports/fomu at fomu · im-tomu/micropython",
          "url": "https://github.com/im-tomu/micropython/tree/fomu/ports/fomu",
          "timestamp": null,
          "description": "The Micro Python project. Contribute to im-tomu/micropython development by creating an account on GitHub.",
          "color": "#1E2327",
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465388240793243872",
      "type": "Default",
      "timestamp": "2026-01-26T16:49:42.202+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "// Send string of given length\nvoid mp_hal_stdout_tx_strn(const char *str, mp_uint_t len) {\nhttps://github.com/im-tomu/micropython/blob/fomu/ports/fomu/src/uart-core.c",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "micropython/ports/fomu/src/uart-core.c at fomu · im-tomu/micropython",
          "url": "https://github.com/im-tomu/micropython/blob/fomu/ports/fomu/src/uart-core.c",
          "timestamp": null,
          "description": "The Micro Python project. Contribute to im-tomu/micropython development by creating an account on GitHub.",
          "color": "#1E2327",
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465388360494219274",
      "type": "Default",
      "timestamp": "2026-01-26T16:50:10.741+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "is this how uP print() gets sent  up the usb serial ?",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465388507110572132",
      "type": "Default",
      "timestamp": "2026-01-26T16:50:45.697+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'm still curious where stuff is buffered",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465409169812361408",
      "type": "Default",
      "timestamp": "2026-01-26T18:12:52.069+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, that's how the output gets to the serial, I don't think there's any other buffering.  That function just loops until it's managed to give all the characters to `usb_write`, and it is called directly from `mp_print_*` functions (via the `MP_PLAT_PRINT_STRN` macro).",
      "author": {
        "id": "691780627338625077",
        "name": "rebelmike",
        "discriminator": "0000",
        "nickname": "RebelMike",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465415544877482034",
      "type": "Default",
      "timestamp": "2026-01-26T18:38:12.003+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Somewhere is a 256 byte buffer, and then I think a 2nd larger one.   which may be on the Linux/host and then cPython",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465415969043120281",
      "type": "Default",
      "timestamp": "2026-01-26T18:39:53.132+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "cPython/linux I open the connection, serial.in_waiting shows  0, sleep .1' in_waiting is either 256 or 294 (256 + len(one line of data)",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465454256583741636",
      "type": "Default",
      "timestamp": "2026-01-26T21:12:01.593+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@carlfk - It would be awesome to update micropython on the Fomu....",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "443147704126668801",
          "name": "carlfk",
          "discriminator": "0000",
          "nickname": "carlfk",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1465454298208141345",
      "type": "Default",
      "timestamp": "2026-01-26T21:12:11.517+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@jimmo might be able to help with that....",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "594656356594614312",
          "name": "jimmo_",
          "discriminator": "0000",
          "nickname": "jimmo",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-01_media/ec84aba19860ac4b725308409095d92b-54211.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1465454499630940294",
      "type": "Default",
      "timestamp": "2026-01-26T21:12:59.54+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@carlfk - I also found a couple more of the EVT Pi hat boards. I'd love to get them onto https://fpgas.online and convince people to play with them...",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "443147704126668801",
          "name": "carlfk",
          "discriminator": "0000",
          "nickname": "carlfk",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1465456083333021801",
      "type": "Reply",
      "timestamp": "2026-01-26T21:19:17.124+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "what is a EVT Pi hat board ?",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1465454499630940294",
        "channelId": "1462649747226755122",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1465456475014041796",
      "type": "Default",
      "timestamp": "2026-01-26T21:20:50.508+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That blue RPi Hat board which has the same hardware in an easier to look at form factor",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465457195054399721",
      "type": "Default",
      "timestamp": "2026-01-26T21:23:42.179+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ah - fomu",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465458768677441616",
      "type": "Reply",
      "timestamp": "2026-01-26T21:29:57.36+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "it looks like fomu does some buffering on the usb endpoint too? (i.e. in usb_write - as far as i can tell multiple calls can be coalesced into one endpoint transmission, as opposed to usb_send)",
      "author": {
        "id": "594656356594614312",
        "name": "jimmo_",
        "discriminator": "0000",
        "nickname": "jimmo",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/ec84aba19860ac4b725308409095d92b-54211.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "443147704126668801",
          "name": "carlfk",
          "discriminator": "0000",
          "nickname": "carlfk",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
        }
      ],
      "reference": {
        "messageId": "1465415544877482034",
        "channelId": "1462649747226755122",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1465459204000059495",
      "type": "Default",
      "timestamp": "2026-01-26T21:31:41.149+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Xobs might be able to explain how the USB core works more....",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "261705597529882627",
          "name": "xobs",
          "discriminator": "0000",
          "nickname": "Xobs",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-01_media/41f50d0d47bb7dfee07c877e0d35dd98-E65EE.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1465459444870811689",
      "type": "Default",
      "timestamp": "2026-01-26T21:32:38.577+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The \"eptri\" is a keyword there",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465519322079166484",
      "type": "Default",
      "timestamp": "2026-01-27T01:30:34.416+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@carlfk - maybe we should do a Fomu like this -> https://www.hackster.io/news/the-arduino-uno-now-in-extra-large-7a15236d9e8a",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "The Arduino UNO, Now in Extra-Large",
          "url": "https://www.hackster.io/news/the-arduino-uno-now-in-extra-large-7a15236d9e8a",
          "timestamp": null,
          "description": "UncleStem just built a massive, fully functional Arduino UNO that is scaled up seven times its original size.",
          "color": "#2E9FE6",
          "thumbnail": {
            "url": "2026-01_media/_TSej6mbQRl-A44EB.blob",
            "width": 600,
            "height": 450
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE06",
            "code": "laughing",
            "isAnimated": false,
            "imageUrl": "2026-01_media/1f606-BE94E.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "691780627338625077",
              "name": "rebelmike",
              "discriminator": "0000",
              "nickname": "RebelMike",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-01_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
            },
            {
              "id": "1448325476081991752",
              "name": "759f",
              "discriminator": "0000",
              "nickname": "KarasiyVasilev",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-01_media/4-4551A.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "443147704126668801",
          "name": "carlfk",
          "discriminator": "0000",
          "nickname": "carlfk",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2026-01_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1465553113133092991",
      "type": "Default",
      "timestamp": "2026-01-27T03:44:50.831+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The canonical documentation for eptri is what's generated by lxsocdoc: https://rm.fomu.im/usb.html",
      "author": {
        "id": "261705597529882627",
        "name": "xobs",
        "discriminator": "0000",
        "nickname": "Xobs",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/41f50d0d47bb7dfee07c877e0d35dd98-E65EE.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1465613670682722324",
      "type": "Reply",
      "timestamp": "2026-01-27T07:45:28.876+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "There’s also https://shop.pimoroni.com/products/pico-jumbo?variant=42095185821779",
      "author": {
        "id": "691780627338625077",
        "name": "rebelmike",
        "discriminator": "0000",
        "nickname": "RebelMike",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "Pico Jumbo (Pico 2 Aboard)",
          "url": "https://shop.pimoroni.com/products/pico-jumbo?variant=42095185821779",
          "timestamp": null,
          "description": "A hilariously oversized but fully functional Raspberry Pi Pico 2 for demos, japes and shenanigans.",
          "thumbnail": {
            "url": "2026-01_media/jumbo-931B8.png",
            "width": 1500,
            "height": 1500
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1465519322079166484",
        "channelId": "1462649747226755122",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1465818429247197366",
      "type": "Reply",
      "timestamp": "2026-01-27T21:19:07.122+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Makes me also think of https://monster6502.com/",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-01_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "691780627338625077",
          "name": "rebelmike",
          "discriminator": "0000",
          "nickname": "RebelMike",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-01_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
        }
      ],
      "reference": {
        "messageId": "1465613670682722324",
        "channelId": "1462649747226755122",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    }
  ],
  "messageCount": 33
}